package cn.openea.perpartner.meily.constant.enums;

import cn.openea.perpartner.common.core.text.Convert;
import cn.openea.perpartner.common.core.utils.SpringContextUtils;
import cn.openea.perpartner.meily.web.entity.Enterprise;
import cn.openea.perpartner.meily.web.service.IGoodsService;
import lombok.Getter;

/**
 * @author ysk
 * @version 1.0.1
 * @Description 企业关联项目枚举
 * @createTime 2023年06月28日 17:27:00
 */
@Getter
public enum EnterpriseRelevancyItemEnums implements ItemRelevancy {

    /**
     * 关联商品
     */
    RELEVANCY_GOODS("关联商品") {
        @Override
        public void addRelevancy(String id, Enterprise enterprise) {
            IGoodsService goodsService = SpringContextUtils.getBean(IGoodsService.class);
            goodsService.relevancyEnterprise(Convert.toLong(id), enterprise.getEnterpriseNo()
                    , enterprise.getEnterpriseName());
        }
    };

    /**
     * 备注
     */
    private String desc;

    EnterpriseRelevancyItemEnums(String desc) {
        this.desc = desc;
    }
}

interface ItemRelevancy {

    /**
     * 执行策略
     *
     * @param id         关联项目id
     * @param enterprise 企业
     */
    void addRelevancy(String id, Enterprise enterprise);

}